public class MidiController extends java.lang.Object implements IGrayBoxModule
noteOff()
noteOn()
keyAfterTouch()
controlChange()
programChange()
channelAfterTouch()
pitchBendChange()
pitchBendChangeW()
systemExclusive()
midiMessage()
GrayBox.process()
メソッド実行時)までバッファリングします。
バッファされたMIDIメッセージは、
次回の音声処理実行タイミングでMIDIイベントリスト(ProcessData.midiEventList
)へ登録されます。
MIDIメッセージの仕様についてはMidiMessageクラスを参照してください。GrayBox
,
ProcessData
,
MidiMessage
,
MidiEvent
修飾子とタイプ | フィールドと説明 |
---|---|
int |
midiOutPorts
MIDIメッセージの送信対象ポートを示すビットフラグ(16bit)です.
|
コンストラクタと説明 |
---|
MidiController()
MidiControllerオブジェクトを構築します.
|
MidiController(int eventBufferSize)
MidiControllerオブジェクトを構築します.
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
channelAfterTouch(int ch,
int val)
チャンネルアフタータッチメッセージをバッファします.
|
void |
channelAfterTouch(int ch,
int val,
int offsetFrames)
チャンネルアフタータッチメッセージをバッファします.
|
void |
clearMIDIEventBuffer()
イベントバッファをクリアします.
|
void |
connectModule(GrayBox host)
このメソッドは
GrayBox.attachModule() メソッドで
ホストにモジュールが正常に接続されたとき呼ばれます. |
void |
controlChange(int ch,
int ccn,
int val)
コントロールチェンジメッセージをバッファします.
|
void |
controlChange(int ch,
int ccn,
int val,
int offsetFrames)
コントロールチェンジメッセージをバッファします.
|
void |
disconnectModule()
このメソッドは
GrayBox.detachModule() 他、
いくつかのメソッドでモジュールがホストから接続解除されたとき呼ばれます. |
int |
getEventBufferSize()
イベントバッファのサイズを取得します.
|
void |
initiModule()
このメソッドは
GrayBox.initiModules() メソッドから呼ばれます. |
void |
keyAfterTouch(int ch,
int key,
int val)
キーアフタータッチメッセージをバッファします.
|
void |
keyAfterTouch(int ch,
int key,
int val,
int offsetFrames)
キーアフタータッチメッセージをバッファします.
|
void |
midiMessage_P(int portNum,
int type,
int ch,
int val0,
int val1)
送信ポートを指定してMIDIメッセージをバッファします.
|
void |
midiMessage_P(int portNum,
int type,
int ch,
int val0,
int val1,
byte[] data,
int dataSize,
int offsetFrames)
送信ポートを指定してMIDIメッセージをバッファします.
|
void |
midiMessage(int type,
int ch,
int val0,
int val1)
MIDIメッセージをバッファします.
|
void |
midiMessage(int type,
int ch,
int val0,
int val1,
byte[] data,
int dataSize,
int offsetFrames)
MIDIメッセージをバッファします.
|
void |
noteOff(int ch,
int key)
ノートオフメッセージをバッファします.
|
void |
noteOff(int ch,
int key,
int offsetFrames)
ノートオフメッセージをバッファします.
|
void |
noteOn(int ch,
int key,
int velo)
ノートオンメッセージをバッファします.
|
void |
noteOn(int ch,
int key,
int velo,
int offsetFrames)
ノートオンメッセージをバッファします.
|
void |
pitchBendChange(int ch,
int lsb,
int msb)
ピッチベンドチェンジメッセージをバッファします.
|
void |
pitchBendChange(int ch,
int lsb,
int msb,
int offsetFrames)
ピッチベンドチェンジメッセージをバッファします.
|
void |
pitchBendChangeW(int ch,
int val)
ピッチベンドチェンジメッセージをバッファします.
|
void |
pitchBendChangeW(int ch,
int val,
int offsetFrames)
ピッチベンドチェンジメッセージをバッファします.
|
void |
process(ProcessData procData)
このメソッドはGrayBox.process()メソッドから呼ばれます.
|
void |
programChange(int ch,
int val)
プログラムチェンジメッセージをバッファします.
|
void |
programChange(int ch,
int val,
int offsetFrames)
プログラムチェンジメッセージをバッファします.
|
void |
resetModule()
このメソッドは
GrayBox.resetModules() メソッドから呼ばれます. |
void |
resumeProcess()
このメソッドは
GrayBox.resumeProcess() メソッドから呼ばれます. |
int |
setEventBufferSize(int size)
イベントバッファのサイズを再設定します.
|
void |
startProcess()
このメソッドは
GrayBox.startProcess() メソッドから呼ばれます. |
void |
stopProcess()
このメソッドは
GrayBox.stopProcess() メソッドから呼ばれます. |
void |
suspendProcess()
このメソッドは
GrayBox.suspendProcess() メソッドから呼ばれます. |
void |
systemExclusive(byte[] msg,
int dataSize)
システムエクスクルーシブメッセージをバッファします.
|
void |
systemExclusive(byte[] msg,
int dataSize,
int offsetFrames)
システムエクスクルーシブメッセージをバッファします.
|
void |
updateAudioChannels(int ch)
このメソッドは
Graybox.setAudioChannels() メソッドで
ホストのオーディオチャンネル数が更新されたとき呼ばれます. |
void |
updateBypassStatus(boolean bypass)
このメソッドは
GrayBox.bypassProcess() メソッドで
モジュールスロットのバイパスステータスが更新されたとき呼ばれます. |
void |
updateProcessBlockSize(int size)
このメソッドは
Graybox.setProcessBlockSize() メソッドで
ホストのプロセスブロックサイズが更新されたとき呼ばれます。 |
void |
updateSampleRate(float sampleRate)
このメソッドは
Graybox.setSampleRate() メソッドで
ホストのサンプリングレート値が更新されたとき呼ばれます. |
public int midiOutPorts
ProcessData
public MidiController()
public MidiController(int eventBufferSize)
eventBufferSize
- MIDIメッセージ(MidiEvent)のバッファサイズ(16~無制限)public void clearMIDIEventBuffer()
public int getEventBufferSize()
public int setEventBufferSize(int size)
size
- バッファサイズ(16~無制限)public void noteOff(int ch, int key)
ch
- MIDIチャンネル(0~15)key
- ノートナンバー(0~127)public void noteOff(int ch, int key, int offsetFrames)
ch
- MIDIチャンネル(0~15)key
- ノートナンバー(0~127)offsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void noteOn(int ch, int key, int velo)
ch
- MIDIチャンネル(0~15)key
- ノートナンバー(0~127)velo
- ベロシティ(0~127)public void noteOn(int ch, int key, int velo, int offsetFrames)
ch
- MIDIチャンネル(0~15)key
- ノートナンバー(0~127)velo
- ベロシティ(0~127)offsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void keyAfterTouch(int ch, int key, int val)
ch
- MIDIチャンネル(0~15)key
- ノートナンバー(0~127)val
- プレッシャー値(0~127)public void keyAfterTouch(int ch, int key, int val, int offsetFrames)
ch
- MIDIチャンネル(0~15)key
- ノートナンバー(0~127)val
- プレッシャー値(0~127)offsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void controlChange(int ch, int ccn, int val)
ch
- MIDIチャンネル(0~15)ccn
- コントロールナンバー(0~127)val
- コントロール値(0~127)public void controlChange(int ch, int ccn, int val, int offsetFrames)
ch
- MIDIチャンネル(0~15)ccn
- コントロールナンバー(0~127)val
- コントロール値(0~127)offsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void programChange(int ch, int val)
ch
- MIDIチャンネル(0~15)val
- プログラムナンバー(0~127)public void programChange(int ch, int val, int offsetFrames)
ch
- MIDIチャンネル(0~15)val
- プログラムナンバー(0~127)offsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void channelAfterTouch(int ch, int val)
ch
- MIDIチャンネル(0~15)val
- プレッシャー値(0~127)public void channelAfterTouch(int ch, int val, int offsetFrames)
ch
- MIDIチャンネル(0~15)val
- プレッシャー値(0~127)offsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void pitchBendChange(int ch, int lsb, int msb)
ch
- MIDIチャンネル(0~15)lsb
- 下位7bitピッチベンド値(0~127)msb
- 上位7bitピッチベンド値(0~127)public void pitchBendChange(int ch, int lsb, int msb, int offsetFrames)
ch
- MIDIチャンネル(0~15)lsb
- 下位7bitピッチベンド値(0~127)msb
- 上位7bitピッチベンド値(0~127)offsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void pitchBendChangeW(int ch, int val)
ch
- MIDIチャンネル(0~15)val
- ピッチベンド値(0~16383)public void pitchBendChangeW(int ch, int val, int offsetFrames)
ch
- MIDIチャンネル(0~15)val
- ピッチベンド値(0~16383)offsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void systemExclusive(byte[] msg, int dataSize)
msg
- システムエクスクルーシブメッセージデータ(EOX(F7)含む)dataSize
- データサイズpublic void systemExclusive(byte[] msg, int dataSize, int offsetFrames)
msg
- システムエクスクルーシブメッセージデータ(EOX(F7)含む)dataSize
- データサイズoffsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void midiMessage(int type, int ch, int val0, int val1)
type
- メッセージタイプch
- MIDIチャンネル(0~15)val0
- MIDIメッセージ第2バイト値val1
- MIDIメッセージ第3バイト値public void midiMessage(int type, int ch, int val0, int val1, byte[] data, int dataSize, int offsetFrames)
type
- メッセージタイプch
- MIDIチャンネル(0~15)val0
- MIDIメッセージ第2バイト値val1
- MIDIメッセージ第3バイト値data
- メッセージデータdataSize
- データサイズoffsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void midiMessage_P(int portNum, int type, int ch, int val0, int val1)
portNum
- 送信ポートtype
- メッセージタイプch
- MIDIチャンネル(0~15)val0
- MIDIメッセージ第2バイト値val1
- MIDIメッセージ第3バイト値public void midiMessage_P(int portNum, int type, int ch, int val0, int val1, byte[] data, int dataSize, int offsetFrames)
portNum
- 送信ポートtype
- メッセージタイプch
- MIDIチャンネル(0~15)val0
- MIDIメッセージ第2バイト値val1
- MIDIメッセージ第3バイト値data
- メッセージデータdataSize
- データサイズoffsetFrames
- プロセスブロック先頭からのフレーム単位オフセットpublic void updateSampleRate(float sampleRate)
IGrayBoxModule
Graybox.setSampleRate()
メソッドで
ホストのサンプリングレート値が更新されたとき呼ばれます.updateSampleRate
インタフェース内 IGrayBoxModule
sampleRate
- ホストのサンプリングレート値(Hz)。GrayBox.setSampleRate(float)
public void updateAudioChannels(int ch)
IGrayBoxModule
Graybox.setAudioChannels()
メソッドで
ホストのオーディオチャンネル数が更新されたとき呼ばれます.updateAudioChannels
インタフェース内 IGrayBoxModule
ch
- ホストのオーディオチャンネル数。GrayBox.setAudioChannels(int)
public void updateProcessBlockSize(int size)
IGrayBoxModule
Graybox.setProcessBlockSize()
メソッドで
ホストのプロセスブロックサイズが更新されたとき呼ばれます。updateProcessBlockSize
インタフェース内 IGrayBoxModule
size
- ホストのプロセスブロックサイズ。GrayBox.setProcessBlockSize(int)
public void resetModule()
IGrayBoxModule
GrayBox.resetModules()
メソッドから呼ばれます.resetModule
インタフェース内 IGrayBoxModule
GrayBox.resetModules()
public void initiModule()
IGrayBoxModule
GrayBox.initiModules()
メソッドから呼ばれます.initiModule
インタフェース内 IGrayBoxModule
GrayBox.initiModules()
public void connectModule(GrayBox host)
IGrayBoxModule
GrayBox.attachModule()
メソッドで
ホストにモジュールが正常に接続されたとき呼ばれます.connectModule
インタフェース内 IGrayBoxModule
host
- 接続しているホストへの参照。GrayBox.attachModule(int, sora.graybox.IGrayBoxModule)
public void disconnectModule()
IGrayBoxModule
GrayBox.detachModule()
他、
いくつかのメソッドでモジュールがホストから接続解除されたとき呼ばれます.public void updateBypassStatus(boolean bypass)
IGrayBoxModule
GrayBox.bypassProcess()
メソッドで
モジュールスロットのバイパスステータスが更新されたとき呼ばれます.updateBypassStatus
インタフェース内 IGrayBoxModule
bypass
- スロットのプロセスバイパスステータス。GrayBox.bypassProcess(int, boolean)
public void startProcess()
IGrayBoxModule
GrayBox.startProcess()
メソッドから呼ばれます.startProcess
インタフェース内 IGrayBoxModule
GrayBox.startProcess()
public void stopProcess()
IGrayBoxModule
GrayBox.stopProcess()
メソッドから呼ばれます.stopProcess
インタフェース内 IGrayBoxModule
GrayBox.stopProcess()
public void suspendProcess()
IGrayBoxModule
GrayBox.suspendProcess()
メソッドから呼ばれます.suspendProcess
インタフェース内 IGrayBoxModule
GrayBox.suspendProcess()
public void resumeProcess()
IGrayBoxModule
GrayBox.resumeProcess()
メソッドから呼ばれます.resumeProcess
インタフェース内 IGrayBoxModule
GrayBox.resumeProcess()
public void process(ProcessData procData)
IGrayBoxModule
process
インタフェース内 IGrayBoxModule
procData
- 今回の音声処理に必要な情報を持つProcessDataオブジェクト。GrayBox.process(float[][], int, int)